#ifndef __LOG_H__
#define __LOG_H__
#include<stdio.h>
#include<time.h>

#define INF 0
#define DEBUG 1
#define ERR 2
#define DEFAULT_LOG_LEVEL INF

#define LOG(level,format,...) do{\
    if(DEFAULT_LOG_LEVEL>level) break;/*可能有一些日志就是不需要他输出，但是在代码中要看*/\
    time_t t=time(NULL);\
    struct tm* lt =localtime(&t);\
    char buffer[32]={0};\
    strftime(buffer,31,"%H:%M:%S",lt);\
    fprintf(stdout,"[%s:%s:%d]" format"\n",buffer,__FILE__,__LINE__,##__VA_ARGS__);\
}while(0)

//进行日志等级控制
#define ILOG(format,...) LOG(INF,format,##__VA_ARGS__)
#define DLOG(format,...) LOG(DEBUG,format,##__VA_ARGS__)
#define ELOG(format,...) LOG(ERR,format,##__VA_ARGS__)

#endif
